高效协同、持续交付,中国工商银行企业级 DevOps 工具链建设之路
作者简介
赵振标,中国工商银行软件开发中心架构师。主要从事工行 DevOps 工具链系统的建设工作,现任工具链核心系统的架构师;并在近年来,负责单位级持续集成、自动化测试的推广落地,具备丰富的 DevOps 实践经验。
一、背景及挑战
新技术发展迅猛,金融产品和服务模式创新加快,快速增长的产品需求与有限研发资源之间的矛盾长期存在,如何提高研发效能,快速上线金融产品,支撑业务创新发展,是商业银行金融科技研发机构始终面临的挑战。传统银行的产品、架构体系庞大复杂,对研发效能提升带来更大挑战,DevOps 工具体系建设,首先要适应当前流程和用户工作习惯,然后同步进行工具改进和流程改进,工具体系不能脱离技术和管理现状,要随着技术和管理的优化不断改进。因此打造适合自身的 DevOps 平台,对传统大型研发企业来说尤为重要。
中国工商银行对现有工具进行整合、提炼、完善,统筹进行服务化重构,以用户为中心,打造全流程、功能齐全的企业级 DevOps 工具链,全行共享数据,助力研发管理数字化转型。
二、探索之路
三、建设成果
1、概要视图
2、持续交付流水线
(1)代码提交:提交构建流水线
提交即触发,针对增量代码完成单元测试和代码检查。
(2)代码集成:持续集成流水线
提供丰富持续集成原子操作,根据不同场景组装和配置。
(3)版本交付:持续交付流水线
版本一键交付,自动触发回装验证。
(4)版本上线:持续部署流水线
整体投产部署流程可复用、可验证、自适应、可裁剪、可视化。
3、开发者门户
4、质量门禁
提交构建流水线(“提交构建门禁”):在开发提交代码变更时自动触发流水线执行,检测开发人员本次代码提交的质量,例如代码扫描是否有高风险的问题、单元测试行覆盖率是否达到一定的标准,协助开发人员及时发现和修改问题。各指标必须达标后,才能将代码合入发布分支,降低发现问题和解决问题的总体成本。
持续交付流水线(“交付准出门禁”):多人代码合并到发布分支后,对发布分支开展代码扫描、构建、部署、自动化测试等环节并获取执行结果,并在提交构建门禁基础上增加了冒烟测试成功率指标,所有指标达标才能将版本交付出去,确保交付质量。所有门禁指标分级制定,给团队成长的台阶。
持续部署流水线(“投产准入门禁”):对接投产管理平台,获取投产准入状态、灰度验收状态和投产窗口,线上控制投产行为,规范投产管理。
5、运维平台
四、未来展望
高效协同:以需求价值管理和沟通协作可视化为抓手,从需求和团队两个视角切入,解决跨机构、跨部门面临的协作挑战。
持续交付:以流水线为桥梁,横向扩展,纵深建设,支撑灰度发布的一体化、生产监控、验证、单元化等,打造基于标准化的数据、日志分析服务体系,提供一站式的服务和统一视图,赋能一线团队自服务。
环境支撑:以环境配置标准化实施为基础,建立环境配置自动化服务体现,打造贯通开发、测试、生产的环境交付流水线,标准化和自动化环境资源供给,为产品研发、环境运维团队提供便捷一站式的服务。
度量赋能:依托大数据平台,建立研发管理领域的数据中台,统一专业领域内数据标准,建设共享数据服务。从效率管理、资源管理等多方面建立研发效能度量指体系,多维度量、可定制、透明,不同角色各取所需,赋能研发团队自我改进,支撑各管理层级高效决策。
还不过瘾?还想了解更多大型国有银行 DevOps/DevSecOps 落地方案?
GOPS 全球运维大会 2022 · 深圳站,中国工商银行软件开发中心高级经理赵培桐将分享 DevOps 持续交付标准化的探索与实施,敬请期待。